package com.fh.service.role;

import com.fh.dao.DaoSupport;
import com.fh.entity.Page;
import com.fh.util.PageData;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


@Service("shsRoleService")
public class ShsRoleService {

    @Resource(name = "daoSupport")
    private DaoSupport dao;

    /*
    *列表
    */
    public List<PageData> list(Page page) throws Exception {
        return (List<PageData>) dao.findForList("ShsRoleMapper.datalistPage", page);
    }

    /*
     * 列表
     */
    public List<PageData> listAll(PageData pd) throws Exception {
        return (List<PageData>) dao.findForList("ShsRoleMapper.listAll", pd);
    }

    /*
    *新增
    */
    public void save(PageData pd) throws Exception {
        dao.save("ShsRoleMapper.save", pd);
    }

    /*
    *修改
    */
    public void edit(PageData pd) throws Exception {
        dao.update("ShsRoleMapper.edit", pd);
    }

    /*
    * 通过id获取数据
    */
    public PageData findById(PageData pd) throws Exception {
        return (PageData) dao.findForObject("ShsRoleMapper.findById", pd);
    }

    /* Auth */

    /*
     * authList列表
     */
    public List<PageData> authList(PageData pd) throws Exception {
        return (List<PageData>) dao.findForList("ShsRoleMapper.authList", pd);
    }

    /*
     * shenHeAuth
     */
    public PageData shenHeAuth(PageData pd) throws Exception {
        return (PageData) dao.findForObject("ShsRoleMapper.shenHeAuth", pd);
    }

    /*
     * saveShenHeAuth
     */
    public void saveShenHeAuth(PageData pd) throws Exception {
        dao.save("ShsRoleMapper.saveShenHeAuth", pd);
    }

    /*
     * editShenHeAuth
     */
    public void editShenHeAuth(PageData pd) throws Exception {
        dao.save("ShsRoleMapper.editShenHeAuth", pd);
    }

    /*
     * 获取当前登录用户具有哪些权限
     */
    public PageData authListByLoginUser(PageData pd) throws Exception {
        return (PageData) dao.findForObject("ShsRoleMapper.authListByLoginUser", pd);
    }

    /*
     * 获取用户具有哪些数据权限
     */
    public List<PageData> dataAuthListByUserId(PageData pd) throws Exception {
        return (List<PageData>) dao.findForList("ShsRoleMapper.dataAuthListByUserId", pd);
    }

    /*
     * 新增数据权限
     */
    public void saveDataAuth(PageData pd) throws Exception {
        dao.save("ShsRoleMapper.saveDataAuth", pd);
    }

    /*
     * 删除数据权限
     */
    public void delDataAuth(PageData pd) throws Exception {
        dao.delete("ShsRoleMapper.delDataAuth", pd);
    }
     /**
          *
          * @Title:  获得所有用户的所有权限
          * @reason
          * @author :  陈豪
          * @date  2018/7/1
          */
    public List<PageData> authListAllUser(PageData pageData) throws Exception {
        return (List<PageData>) dao.findForList("ShsRoleMapper.authListAllUser", pageData);
    }
}

